package 面向对象;
/**
  接口的使用规则:
  1,接口使用interface关键字 修饰
  2,接口中只能定义常量、抽象方法(jdk1.8可以有默认实现方法)
  3,接口可以继承接口，而且可以多继承，extends xxx,xxx,xxx
  4,实现类使用 implements 接口1,接口2,接口3  调用接口，需实现所有接口的抽象方法
  5,抽象类 使用接口时，可以不实现接口抽象方法
  6,接口中不声明 访问修饰符 ，默认为public
  7,接口不能有构造方法，不能被实例化
  
  接口设计原则:
  1,对修改关闭,对扩展开放
  2,面向接口编程
*/
public class 接口
{
	public static void main(String[] args){
		Girl g=new Girl("宝宝");
		g.eat();
		g.sleep();
	}
}

interface IEat{
	//public abstract void eat();
	//可以省略修饰符简写如下
	void eat();//抽象方法  不加修饰符，默认为public abstract ，抽象方法实现类必须全部实现这些方法
	int NUM=10;//常量  不加修饰符，默认为public static final
}

interface ISleep extends IEat{
	void sleep();
	String m="呼。。呼。。呼。。。";
}

class Girl implements IEat,ISleep
{
	private String name;
	public Girl(String name){
		this.name=name;
	}
	@Override
	public void eat()
	{
		System.out.println("我是"+name+"的女票，"+"我喜欢吃苹果。");
	}

	@Override
	public void sleep()
	{
		System.out.println("我爱睡觉。");
	}
	
	
}
